uni-admin 是什么
uni-admin 是 DCloud 提供的基于 uni-app + uniCloud 的管理后台开源框架。它的核心定位是配合 uni-starter 模板项目,提供用户管理、角色权限管理、数据统计等后台管理能力。由于基于 uniCloud 的 Serverless 架构,开发者无需自建服务器即可拥有完整的后台管理系统。
预置功能一览
| 模块 | 功能 |
|---|---|
| 用户管理 | 基于 uni-id 的用户增删改查 |
| 角色管理 | RBAC 角色权限模型 |
| 权限管理 | 菜单级、数据级权限控制 |
| 菜单管理 | 动态菜单配置,不同用户不同菜单 |
| 应用管理 | 多应用注册与版本管理 |
| uni 统计 2.0 | 内置埋点统计(设备、用户、页面、自定义事件) |
| CMS 扩展 | Banner 管理、内容管理 |
| 响应式布局 | 同时支持宽屏 PC 和移动端 |
项目创建
在 HBuilderX 中创建 uni-admin 项目:
- 文件 → 新建 → 项目 → 选择 uni-app
- 模板列表中选择
uni-admin(紧跟在 uni-starter 后面) - 选择 Vue 3 版本
- 输入项目名称,点击创建
创建完成后,项目会自动下载模板代码。由于 uni-admin 是一个 Web 端项目,可以使用 VS Code 打开进行开发(ESLint、Prettier 等配置与 uni-starter 项目一致,此处不再重复)。
关联云服务空间
uni-admin 的核心功能依赖 uniCloud,需要关联云服务空间。关键问题是:如果 uni-starter 和 uni-admin 两个项目共用同一个云服务空间,如何避免数据冲突?
关联方式
- 打开 uni-admin 项目中的
uniCloud目录 - 右键 → 关联云服务空间或项目
- 选择"绑定其他项目的服务空间"
- 选择已创建的 uni-starter 项目
关联成功后,uniCloud 目录图标会变成引用图标,表示当前项目正在使用另一个项目的云空间。此时在任一项目中修改云函数或数据库,另一项目会自动同步。
配置 uni-id 安全密钥
首次运行 uni-admin 需要注册超级管理员账号,但注册前必须先配置 uni-id 的安全密钥。找到云空间中的配置文件:
uniCloud/cloud-functions/common/uni-config-center/uni-id/config.json
text
需要配置以下字段:
{
"passwordSecret": "你的密码加密密钥(随机长字符串)",
"tokenSecret": "你的Token加密密钥(随机长字符串)",
"requestAuthSecret": "请求认证密钥",
"encryptSecret": "数据加密密钥"
}
json
每个密钥建议使用 32 位以上的随机字符串。配置完成后,右键 uni-config-center 目录 → 上传公共模块,将配置同步到云端。
注册管理员并运行
- 在 HBuilderX 中运行 uni-admin 到 Chrome
- 浏览器打开后显示登录页
- 点击"注册管理员账号"链接
- 填写用户名、昵称、密码(密码要求字母+数字+特殊符号至少两种组合)
- 注册成功后,使用管理员账号登录
登录成功后的首页包含:
- 左侧:系统菜单(用户管理、角色管理、权限管理、应用管理、菜单管理、uni 统计等)
- 右上角:主题切换、国际化语言切换、修改密码、退出
uni-admin 与自有管理后台的关系
uni-admin 提供的是通用的基础管理功能,在实际业务中需要注意区分:
- 通用功能用 uni-admin:用户管理、权限、统计等标准模块
- 业务功能用自有后台:课程管理、订单管理等业务逻辑,可以通过 API 接口对接
- 独立管理需求:如果业务功能完全独立于小程序端,可以考虑单独开发管理后台
- 对外接口:uniCloud 的云函数支持 URL 化,可以将云函数以 HTTP 接口的形式对外提供服务,方便第三方系统调用
这为混合架构提供了灵活性——前端使用 Vue3 自建后台,数据层仍然复用 uniCloud 的云函数和数据库。
↑